/**
 * 
 */
package cz.cuni.mff.abacs.burglar.visual.multithreading;

import java.util.List;

import cz.cuni.mff.abacs.burglar.logics.planning.instructions.Instruction;


/**
 * 
 * 
 * @author abacs
 *
 */
public interface PlanningListener {
	
	
	/**
	 * 
	 * 
	 * @param resultedInstructions
	 * @param thread the thread that produced the result.
	 */
	public void planningFinished(
			List<Instruction> resultedInstructions,
			PlanningThread thread
	);
	
	
	/**
	 * 
	 * 
	 * @param resultedInstructions
	 * @param avoidedTrapRooms
	 * @param thread the thread that produced the result.
	 */
	public void planningFinished(
			List<Instruction> resultedInstructions,
			List<Integer> avoidedTrapRooms,
			PlanningThread thread
	);
	
	
	/**
	 * 
	 * 
	 * @param trapRooms
	 * @param thread
	 */
	public void selectingTrapRoomsFinished(
			List<Integer> trapRooms,
			PlanningThread thread
	);
	
	
}
